/*
 * @Date: 2024-12-19 16:25:19
 * @LastEditors: zl 1077167261@qq.com
 * @LastEditTime: 2024-12-24 17:02:38
 * @FilePath: \employment-data-platform\js\common.js
 */
// axios.defaults.baseURL = 'https://hmajax.itheima.net';
//1. -------------------------------------------------表单元素正则检查
function validatData(username, pwd) {
  const unameReg = /^[a-zA-Z0-9]{8,30}$/;
  const pwdReg = /^[a-zA-Z0-9]{6,30}$/;
  return unameReg.test(username) && pwdReg.test(pwd);
}
// 2.-------------------------------------------------封装localStorage
function setLocal(key, value) {
  localStorage.setItem(key, JSON.stringify(value));
}
function getLocal(key) {
  return JSON.parse(localStorage.getItem(key));
}
function removeLocal(key) {
  localStorage.removeItem(key);
}
// 3------------------------------------------------ 封装sessionStorage实现本地缓存
function setSession(key, value) {
  sessionStorage.setItem(key, JSON.stringify(value));
}
function getSession(key) {
  return JSON.parse(sessionStorage.getItem(key));
}
// 4.----------------------------------------------------axios拦截器
// 添加请求拦截器，统一携带token
axios.interceptors.request.use(
  function (config) {
    //设置请求头
    config.baseURL = 'https://hmajax.itheima.net';
    // console.log(config);
    // 在发送请求之前做些什么,比如: 统一设置token
    const token = getLocal('token');
    // token存在，才携带
    if (token) {
      config.headers['Authorization'] = token;
    }
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);
// 添加响应拦截器
axios.interceptors.response.use(
  function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么，比如: 数据剥离
    return response.data;
  },
  function (error) {
    if (error.response.status == 400) {
      console.dir(error);
      pxmu.fail(error.response.data.message);
    }
    // 超出 2xx 范围的状态码都会触发该函数。
    if (error.response.status == 401) {
      pxmu.toast('登录过期，请重新登录');
      setTimeout(() => {
        location.href = '../login.html';
      }, 1000);
    }
  }
);
// 
function getPostData(){
  let body = serialize(formBox, { hash: true, empty: true });
  body.age = +body.age;
  body.gender = +body.gender;
  body.group = +body.group;
  body.hope_salary = +body.hope_salary;
  body.salary = +body.salary;
  return body;
}